package com.spm.dao;

import com.spm.pojo.Grade;
import com.spm.pojo.StudentGrade;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

public interface GradeMapper {
    /**
     * 获取某位老师某门课程的所有学生成绩
     * @param tid 老师编号
     * @param cno 课程编号
     * @return
     */
    public List<StudentGrade> getGradeByCourse(@Param("tid") String tid,@Param("cno") String cno);

    /**
     * 获取某位老师的某名学生的某门课程成绩
     * @param tid
     * @param cno
     * @param sid
     * @return
     */
    public StudentGrade getGradeByCAS(@Param("tid") String tid, @Param("cno") String cno, @Param("sid")String sid);

    /**
     * 根据学号查询成绩
     * @param sid 学生学号
     * @return 学生类
     */
    public List<Grade> getGradeById(String sid);


    /**
     * 修改单个学生成绩
     * @param studentGrade
     * @return
     */
    public int updateGradeItem(StudentGrade studentGrade);

    /**
     * 计算成绩
     * @param studentGrade
     * @return
     */
    public void calculateGrade(StudentGrade studentGrade);

    /**
     * 老师筛选某门课程不及格
     * @param tid
     * @param cno
     * @return
     */
    public List<StudentGrade> screenFail(@Param("tid") String tid,@Param("cno") String cno);

    public List<StudentGrade> scopeScreen(@Param("tid") String tid,@Param("low") int low,@Param("high") int high);

}
